import { http } from '@/http/http'
import { IPasswordLoginRequest, ISmsLoginRequest, IGetCodeRequest, IRegisterRequest, IUserLogin, IGetUserInfoResponse } from './types/login'


/**
 * 密码登录
 * @param data 密码登录请求参数
 */
export function passwordLogin(data: IPasswordLoginRequest) {
  return http.post<IUserLogin>('/login/password', data)
}

/**
 * 手机验证码登录
 * @param data 验证码登录请求参数
 */
export function smsLogin(data: ISmsLoginRequest) {
  return http.post<IUserLogin>('/login', data)
}

/**
 * 获取手机验证码
 * @param data 获取验证码请求参数
 */
export function getSmsCode(data: IGetCodeRequest) {
  return http.get<void>('/code', { mobile: data.mobile, type: data.type })
}

/**
 * 用户注册
 * @param data 注册请求参数
 */
export function register(data: IRegisterRequest) {
  return http.post<void>('/register', data)
}

/**
 * 退出登录
 */
export function logout() {
  return http.get<void>('/user/logout')
}

/**
 *获取个人用户信息
 */
export function getUserInfo() {
  return http.get<IGetUserInfoResponse>('/patient/myUser')
}